Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.8.0-beta #25

Merged
merged 23 commits into from
Sep 20, 2023
Merged

v0.8.0-beta #25

merged 23 commits into from
Sep 20, 2023

Conversation

00JCIV00
Copy link
Owner

  • Improved the Argument Analysis experience with the addition of the checkSubCmd() and matchSubCmd() methods in Command!
  • Implemented Command conversions from/to Unions and Functions in addition to Structs!
  • Revamped Values to be more in line with Commands and Options and also to allow for them to be based on arbitrary Types!
  • Added several new Parsing configurations for easier parse-error handling and POSIX compliance.
  • Implemented Tokenization of argument strings.
  • Revised the locations of several configurations to be more predictable.
  • Improved the README, API Docs, and Guides so they're easier to follow and navigate through.
  • Created examples/basic_app.zig as a well-documented example of Cova's features in action!

00JCIV00 and others added 23 commits July 18, 2023 19:57
- Moved several cova.ParseConfig options to Command.Config and Option.Config respectively for a more logical library interface and greater flexibility.
- Added `sub_cmds_mandatory` field to Command.Config and Command.Custom to allow library users to mandate that Sub Command be used if available for all Commands or individual Commands.
- Changed output of cova.zig error messages to `log.err`.
- Added Config to Value.zig to enable the creation of custom Generic and Typed Values.
- Adjusted the rest of the library to reflect this change.
- Added Custom to Value.zig to enable the creation of more flexible custom Generic and Typed Values.
- Added Value.Config options for individual custom types and adding large ranges of bit widths for Ints/Uints.
- Updated the rest of the library to use Value.Custom instead of Value.Generic.
- Ensured Mandatory Sub-Commands check for Usage/Help as Options as well as Commands.
- Updated the Goals Section of REAMDE.md to align with new usage of Issues for tracking goals by version.
- Updated build.zig to use `getEmittedDocs()`.
- Changed `Command.Custom.from()` to wrap methods for Struct/Union and Function "from" conversions.
- Added `Command.Custom.callAs()` method to allow Commands converted from Functions to be called back as Functions.
- Updated `Value.Custom.from()` to support Function Parameters in addition to Struct/Union fields.
- Changed `Command.Custom.fromStruct()` to `Command.Custom.fromType()` for Struct and Union conversions.
- Updated `Command.Custom.to()` to support UnionFields in addition to StructFields.
- Updated `Value.Custom.from()` to support Function Parameters in addition to Struct/Union fields.
- Added `checkSubCommand` for analyzing Commands with no subsequent Sub Commands for analysis.
- Added `matchSubCommand` for analyzing Commands with subsequent Sub Commands for analysis.
- Implemented ignorable prefixes to `Command.Custom.FromConfig` to ignore specific fields when using `Command.Custom.from()`.
- Implemented a syntax conversion flag to `Command.Custom.FromConfig` to change `zig_var_syntax` to `posix-arg-syntax`.
- Added sane defaults as an optional fallback for missing Value fields.
- Fixed errors with the conversions of certain types.
- Added `examples/basic_app` as a well documented example application utilizing Cova.
- Added build option for `basic_app` via `zig build basic-app`.
- Added the `fn_self` parameter to allow Commands to be built from Zig "methods".
- Added `err_reaction` field `ParseErrorReaction` to `cova.ParseConfig`.
- Added `cova.errReaction()` to handle reactions to parsing errors.
- Closes #21
- Added `enable_opt_termination` to `cova.ParseConfig` as a configuration flag for terminating the parsing of Options if `--` (or whichever symbol is used for Option long names) is given by itself.
- Closes #23
- Added `cova.tokenize_args()` and `cova.TokenizeConfig`.
- Fixed small bug in `Command`.
- Closes #22
- Updated Features w/ v0.8.0 updates.
- Updated Examples to be more streamlined.
- Streamlined the README.md to be less cluttered and serve as a better launching point for newcomers.
- Revised several sections of the Guides for both readability and v0.8.0 changes.
- Fixed minor style issues across the library.
- Added a definition of Analysis with regards to Cova.
- Fixed some missing information.
@00JCIV00 00JCIV00 merged commit 5164ddf into main Sep 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant